Документация к программе eNote (с) 1999-2000 by AmiS · Введение. Эта программа представляет собой электронную записную книжку. Наверное, всем Вам знакома ситуация - нужно что-то срочно записать (телефон, адрес, имя файла, URL...) - и на столе плодятся бумажки, а в бумажной записной книжке начинается жуткий беспорядок. Со временем ворох бумажек достигает угрожающих размеров, и что-то найти там становится проблематично. Под конец согласно закону Мэрфи самая важная бумажка обязательно потеряется, а записную книжку стащат из кармана автобусные воры. Существует довольно много решений этой задачи, все они обычно сводятся к подвешенному на меню/кнопки DOpus5 или хоткеи текстового редактора. Однако текстовый редактор обычно вызывается достаточно долго. Кроме того, такое решение обладает рядом недостатков. Приведу простейший пример: Вы вызвали редактор для какого-то файла, забыли про него, вызвали ещё раз, что-то поменяли, сохранили. Потом наткнулись на старую запущенную копию, поменяли что-то ещё, сохранили - и угробили результат предыдущего изменения. Кроме того, такие вещи, как выделение цветом, различные стили (курсив, подчёркивание, жирный шрифт), разные виды форматирования и т.п. доступны только весьма продвинутым пакетам типа FinalWriter или WordWorth, которые, мягко говоря, не слишком удобны в качестве записной книжки. Программа eNote лишена всех перечисленных недостатков. · Features - Удобный MUI интерфейс. - Возможность конфигурирования внешнего вида. - Поддержка xpk файлов. - Локализация. - AREXX порт. - Возможность проверки орфографии. - Защита данных паролем. - Удобный поиск текста. - Автоматическое сохранение данных. - Возможность сохранять/читать документы в разных форматах. - Оформление текста (стили, декоративные разделители). - Режим RESIDENT для мгновенного открытия. - Возможность переключаться между экранами. - Поддержка OpenURL. - eNote является полноценным Commodity. - Drag&Drop поддержка. - Контекстное меню. · Copyright Это программное обеспечение следует "Standard Amiga FD-Software Copyright Note". Оно является CARDWARE, как указано в пункте 4c. Если оно вам нравится и вы регулярно им пользуетесь, пошлите почтовую открыку по адресу: Россия, Москва, 121108, ул. Кастанаевская, 27/5-45. Подробности читайте в файле "AFD-COPYRIGHT" (Версия 1.4 или выше). Помните - главным является не цена, а Ваше внимание! · Requirements - Amiga совместимый компьютер... - 68020+ - AmigaOS 3.x - MUI 3.8+ (c) Stefan Stuntz - TextEditor.mcc (c) Allan Odgaard Указанные ниже продукты не требуются для работы, но их отсутствие может лишить eNote некоторых возможностей. Автор настоятельно рекомедует поставить данные продукты на вашу Амигу: - Toolbar.mcc 15.6+ (c) Benny Kjжr Nielsen - XPK Package (c) Dirk Stoecker, Christian von Roques, Urban Dominik Mueller. - XFD Package (c) Georg Hoermann, Dirk Stoecker - imagepool.library (c) Linus McCabe - openurl.library (c) Troels Walsted Hansen · Настройка. eNote довольно сложная программа, и как это обычно бывает, она имеет много настроек. В настоящей версии все настройки задаются с помощью ToolTypes. Некоторые дублируются в меню и совсем немногие доступны через AREXX порт. В последующих версиях программы автор планирует сделать полноценную систему настроек, встроенную в программу. Наиболее полные возможности в настройки программы дают ToolTypes. Побочным эффектом является то, что эти настройки вступают в силу единожды при старте программы. Рассмотрим кратко все возможные tooltypes доступные в текущей версии eNote. NAME - путь к файлу, загружаемому при старте eNote. Имейте в виду: если Вы запускаете eNote из WBStartup, и этот файл зашифрован, пароль будет спрашиваться при загрузке системы! При неправильном вводе пароля в данном случае eNote завершит работу даже в режиме RESIDENT. По умолчанию используется "s:eNote.data". WORKMODE - формат этого файла (PLAIN/EMAIL) AUTOSAVE - интервал в секундах от первого изменения текста до автоматической его записи. Если он не указан, пункт Autosave в меню Project будет недоступен. Такая возможность весьма полезна для пользователей, не имеющих UPS (источников бесперебойного питания) или программистов, отлаживающих нестабильные версии программ. Включённую автозапись можно оперативно выключить в меню Project. Это может потребоваться, например, если Вам захотелось тишины и Вы остановили винчестер какой-нибудь из существующих для этого утилит. STARTCMD - CLI команда, выполняемая при старте eNote. QUITCMD - CLI команда, выполняемая при выходе из eNote. OPENCMD - CLI команда, выполняемая при открытии окна eNote. Может быть использована, например, для открытия button bank в DOpus5, содержащего кнопки выбора разных текстов. CLOSECMD - CLI команда, выполняемая при закрытии окна eNote. Может, к примеру, быть использована для закрытия упомянутого выше button bank'а. IMAGES - директория с картинками для Toolbar и кнопок. VIRTUALTB - режим Virtual Toolbar. В этом режиме toolbar будет показан частично, если окно eNote слишком маленькое. Если этот режим выключен, то окно нельзя сделать меньше размера toolbar'а. Режим позволяет использовать скролирование тулбара. Для этого нажмите и удерживайте левую клавишу мыши на какой нибудь клавише и при этом перемещайте мышку. RESIDENT - режим RESIDENT. Этот режим является одной из главных особенностей программы. Если он включён, программа при старте не открывает окно, а остаётся в памяти и ждёт. Если скомандовать программе открыться (есть два способа это сделать), она открывает окно практически мгновенно, в отличие от большинства других программ, которые запускаются мучительно долго. Первый способ открытия окна - это повторный запуск eNote. eNote существует в памяти всегда в виде единственной копии - запуск нескольких копий программы одновременно лишён смысла, поскольку eNote позволяет редактировать разные файлы. Второй способ открытия окна - REXX-команда OPEN. Её можно выполнить из REXX-скрипта, командой rx или командой rexxcom. Если режим RESIDENT выключен, то при закрытии окна работа eNote завершается. ICONIFY - режим иконификации eNote при закрытии окна в режиме RESIDENT. Если этот tooltype не указан, eNote будет выполнять не иконификацию, а просто закрытие окна. При этом не будет закрываться тот экран, на котором открыт eNote, но зато закрытие/открытие окна eNote происходит значительно быстрее. Указывать ICONIFY имеет смысл только в том случае, если работа с eNote ведётся на его собственном экране. При работе на чужих экранах никакого смысла в нём нет, и он будет только тормозить работу. PEN - номер цвета, которым выделяется текст при Colored. TOOLBAR - включение Toolbar'а. TOOLBARPOSITION - положение Toolbar'а его в окне (TOP/BOTTOM/LEFT/RIGHT) TOOLBARKEY - клавиша включения/выключения Toolbar'а SPACING - интервал в пикселах между полем редактирования текста и бордюром окна eNote. В отличие от прочих окон eNote, он управляется не из настроек MUI. Чем больше этот интервал - тем проще попасть в него мышкой при перетаскивании toolbar'а. NORESIZE - выключение кнопки изменения размера окна. Позволяет сэкономить место, занимаемое бордюром окна, если размер менять не надо. FIXED - включение шрифта фиксированной ширины в поле редактирования текста. По умолчанию используется пропорциональный шрифт. Оба шрифта задаются в настройках texteditor'а в MUI. USEXFD - использование xfdmaster.library при работе с XPK. Приводит к ощутимому замедлению первоначального запуска eNote, и на практике вряд ли когда-либо пригодится. EXPORTTEXTWRAP - ширина текста при экспорте в текстовый файл. EOF - позиционирование курсора в конец текста. VIEW - режим просмотра. Включает режим при котором модификация загруженного файла невозможна. Это полезно для текстов, которые не предполагается изменять, чтобы обезопасить их от риска случайного изменения. NOBORDER - отключение бордюра. Выключает отображение бордюра для основного окна eNote. Данный режим, в сочетании с режимом NOSLIDER, позволяет максимально использовать рабочее пространство для редактирования текста. NOSLIDER - отключение полосы прокрутки. BACKDROP - режим Backdrop для показа основного окна eNote. Каждая кнопка на toolbar'е может быть включена/выключена индивидуально - выключение кнопок производится с помощью следующих tooltypes: NOCUT, NOCOPY, NOPASTE, NOUNDO, NOREDO, NOSEPARATOR, NOBOLD, NOITALIC, NOUNDERLINE, NOCOLORED, NOLEFT, NOCENTER и NORIGHT. Некоторые возможности в настройке, Вам предоставляет меню Settings. Здесь Вы можете включить или отключить режим ViewMode, указать место положение toolbar'а или выключить его. Все эти настройки можно оперативно записать в tooltypes с помощью пункта меню Settings->Save... · Использование. o Запуск программы Программа может запускаться как из CLI, так и из Workbench. Наиболее разумный способ её использования - просто положите её в WBStartup, и включите режим RESIDENT. Tooltypes из иконки фактически представляют собой настройки программы, и будут прочитаны даже при запуске её из CLI. При запуске программа открывает файл, переданный ей аргументом NAME. Чтобы активизировать eNote, выполняйте команду типа: sys:rexxc/rx "address ENOTE; 'OPEN filename'" Эту команду можно «подвесить», например, на кнопку в DOpus5 или в ToolManager/ToolsDaemon. Если у Вас есть несколько текстов, разместите несколько кнопок с разными именами файлов. o Аргументы CLI Все аргументы CLI являются одноимёнными с соответствующими tooltypes. При вызове eNote из CLI введённые аргументы «перебивают» одноимённые tooltypes. Ряд аргументов имеет сокращения. Их список можно посмотреть, вызвав eNote с аргументом «?». o Редактирование разных файлов eNote позволяет редактировать любое количество файлов. Если программе передать файл, то она автоматически сохраняет текущий файл (обратите на это внимание - это всё-таки записная книжка, а не текстовый редактор!), и загружает новый. Передать файл можно тремя разными способами. Это упомянутые ранее повторный запуск и REXX-команда OPEN, а также drag'n'drop - который работает только в том случае, если программа запущена на экране Workbench или Directory Opus 5. Кинув иконку или файл на окно eNote, Вы «переключаетесь» на него. Очевидно, что для перехода на другой файл REXX-команда OPEN (либо запускаемый из CLI eNote) должны иметь аргументом имя этого файла. o Поддержка шифрования Для хранения «секретных» записей, не предназначенных для чужих глаз, eNote имеет поддержку XPK. Вы можете выбрать метод шифрования, степень секретности и пароль в меню Set Encrypt. Шифрование текущего текста включается галочкой Encrypt в меню. При загрузке «секретного» текста eNote спросит пароль. Если пароль введён неверно, eNote оставляет текст, который был текущим до этого. Если пароль введён верно, текст загружается, и при записи он будет опять зашифрован этим же паролем. Поскольку компрессия для записной книжки неактуальна, eNote не позволяет выбирать из списка XPK методов какие-либо не поддерживающие шифрование. Однако, если текст запаковать любым XPK методом до запуска eNote, он будет распаковываться, и запаковываться при записи тем же методом. Имейте в виду, что далеко не все XPK методы действительно надёжно шифруют данные. Например, в методе SQSH есть некая поддержка пароля, но реально данные доступны даже при неправильном вводе пароля. В качестве действительно надёжного метода шифрования можно порекомендовать, например, IDEA (International Data Encryption Algorythm). Если XPK не установлен, поддержка шифрования будет недоступна. o Поддерживаемые форматы файлов. eNote поддерживает три формата файлов - TEXT, PLAIN и EMAIL. Эти форматы отличаются управляющими кодами форматирования, стилей и управления цветом. Формат TEXT вообще не содержит управляющих кодов. При сохранении текста в этом формате все признаки стилей, форматирования и цвета уничтожаются. Это самый обыкновенный текстовый файл, и сохранение в этом формате может потребоваться для переноса текста в какую-либо другую программу. Формат EMAIL представляет собой несколько расширенный текстовый формат. В этом формате сохраняются признаки стилей, и разделительная черта (Separator). Признаки выглядят в файле как окружающие слово символы «/» для курсива, «*» для жирного шрифта и «_» для подчёркивания. Разделитель сохраняется как «tsb» в угловых скобках. Такой формат обычно применяется для электронной почты в сетях FIDO и Internet. Формат PLAIN сохраняет все признаки, включая форматирование и цвет. В этом формате используются ANSI-коды, начинающиеся с ESC [. Рабочий файл можно хранить в любом из этих трёх форматов. Кроме того, в любой момент в меню доступна запись его в произвольный файл в любом другом формате. o Работа с программой eNote имеет наглядный и интуитивно понятный графический интерфейс. Можно работать как полностью с клавиатуры, так и выполнять часть операций мышкой. При активизации eNote открывается окно, содержащее поле редактирования текста (выполнено на основе texteditor.mcc и требует его наличия в системе) и опциональный toolbar (выполнен на основе toolbar.mcc и доступен только при его наличии в системе). В поле редактирования набирается текст. Участки текста можно выделить мышью или с клавиатуры, и выполнить над ними определённые действия - удалить, скопировать в буфер обмена, вставить из буфера, поменять цвет, стиль и форматирование. Кроме того, можно вставить разделитель (горизонтальную полосу), текущую дату и/или время, и произвольный текстовый файл (Insert в меню Project). Произведённые изменения можно отменить с помощью Undo, ну а отмену соответственно можно отменить с помощью Redo. eNote позволяет красиво оформлять текст, используя курсив, подчёркивание, жирный шрифт и, разумеется, их самые разнообразные комбинации, а также выделять текст произвольным цветом. В любое место текста может быть вставлена разделительная черта (разумеется, не только одна), а внутри этой черты может быть введён произвольный текст. Текст может быть выровнен по левому краю, по центру, и по правому краю окна редактора. Выделенный участок текста может быть приведён к заглавным или к строчным буквам. Все перчисленные возможности доступны как через toolbar, так и через меню Edit и с клавиатуры. В подробном описании они не нуждаются - поэкспериментируйте с ними сами. o Поиск/Замена Эта функция (Search/Replace) вызывается из меню Project. При поиске найденный участок текста выделяется. Повторное нажатие Search при этом выделяет следующий участок, Replace заменяет найденный и повторяет Search. Replace All делает глобальную замену по всему тексту. Особенность замены заключается в том, что при замене заменяется не найденный по модели поиска, а выделенный участок текста. Соответственно, можно не только заменить одно слово на другое, а просто выделить заменяемое слово, набрать другое и нажать Replace. Ignore Case (поиск с игнорированием регистра букв - заглавных или строчных) требует корректного драйвера русского языка в системе. From Top - поиск с начала текста, а не с текущей позиции. o Toolbar Он может быть размещён с любой стороны окна и перетаскивается мышкой. При желании его можно убрать, что делается галочной Toolbar в меню Settings или кнопкой с клавиатуры, заданной в tooltype TOOLBARKEY. Расположение toolbar'а можно выбрать в меню Settings -> Toolbar position даже при его отсутствии. Все функции имеющиеся в toolbar'е продублированы в меню Edit и на клавиатуре. o Переключение экранов Если в настройках MUI для eNote выбран «Frontmost» экран, становится полезным пункт меню Next Screen. Эта функция «перебрасывает» окно eNote на следующий по счёту Public screen. Экраны типа ShapeShifter в этом процессе не участвуют. o Поддержка OpenURL При наличии в системе openurl.library eNote предоставляет некоторые дополнительные возможности. При двойном щелчке по URL вида: "http://www.formula1.ru" будет сделано действие заданное в настройка OpenURL. У Автора - это открытие данного URL в браузере. Если у вас установлена openurl.library версии больше чем 2, то появляется возможность работы с Email вида: "mailto:user@host.domain?subject=Subject?body=Body" · AREXX порт. eNote имеет REXX-порт «ENOTE» (заглавными буквами!). В этот порт могут быть посланы следующие команды: SAVE - сохранение текущего текста. Аргументов не имеет. SAVEAS - сохранение текста в заданный файл. (NAME/A,PLAIN/S,EMAIL/S,TEXT/S). Текст может быть сохранён в любом требуемом формате, ключами PLAIN, EMAIL и TEXT соответственно. OPEN - переход на новый файл с сохранением старого. (NAME/A,PLAIN/S,EMAIL/S). Поскольку автоматически определить формат файла нереально, он указывается ключами PLAIN или EMAIL. Хранить файл в TEXT формате смысла нет. VIEWMODE - включение (ON) и выключение (OFF) режима просмотра. (ON/S,OFF/S) IMAGES - позволяет на лету менять внешний вид программы (PATH/A). TOOLBAR - включение/отключение toolbar'а (ON/S,OFF/S). TOOLBARPOSITION - положение toolbar'а в окне (TOP/S,BOTTOM/S,LEFT/S,RIGHT/S). TOOLBARBUTTON - включение/выключение кнопок toolbar'а. (ON/S,OFF/S,INVERT/S,BUTTON/M). ON включает кнопки, OFF выключает, INVERT меняет состояние кнопок. Кнопки перечисляются в аргументе BUTTON, что позволяет менять состояние нескольких кнопок разом. Допускаются к использованию следующие имена кнопок: CUT, COPY, PAST, UNDO, REDO, SEPARATOR, BOLD, ITALIC, UNDERLINE, COLORED, LEFT, CENTER, RIGHT и ALL. Кроме того, поддерживаются все команды texteditor.mcc - их список приведён ниже. Более детальную информацию вы можете узнать из документации к texteditor.mcc CUT, COPY, PASTE, ERASE, GOTOLINE, GOTOCOLUMN, CURSOR, LINE, COLUMN, NEXT, PREVIOUS, POSITION, SETBOOKMARK, GOTOBOOKMARK, TEXT, UNDO, REDO, GETLINE, GETCURSOR, MARK, DELETE, BACKSPACE, TOUPPER, TOLOWER · Проблемы. ВНИМАНИЕ! Обнаружена страшно неприятная ситуация. Дело в том, что у некоторых пользователей присутствуют несколько откровенно глючных xpkXXXX.library. Точные названия сказать не могу, но могу подсказать как их вычислить. Для проверки нормальной работоспособности ваших xpksub библиотек воспользуйтесь командой "xQuery" без параметров, из пакета XpkUser. Если всё пройдёт нормально, то возможно у вас всё в порядке. В случае "левых" библиотек вас ждут Guru/Suspend'ы и прочие неприятности. Проверено: Все библиотеки из XpkUser v.5.2 работают нормально. Листинг нормально работающих библиотек идёт ниже. Проверяйте версии. Есть некоторые библиотеки, старые версии которых неработоспособны! xpkACCA.library 1.0 1520 xpkILZR.library 1.2 3932 xpkBLFH.library 2.1 11112 xpkIMPL.library 1.0.79 4048 xpkBLZW.library 3.0 2128 xpkLHLB.library 1.1 1024 xpkCAST.library 1.0 25252 xpkMASH.library 1.98 2796 xpkCBR0.library 1.0 1300 xpkNONE.library 1.4 812 xpkCRM2.library 1.1 1112 xpkNUID.library 1.6 3088 xpkCRMS.library 1.1 1124 xpkNUKE.library 1.7 2900 xpkDLTA.library 0.1 960 xpkPWPK.library 1.0 1644 xpkDMCB.library 0.8 2144 xpkRAKE.library 1.7 7108 xpkDUKE.library 1.6 3280 xpkRDCN.library 3.1 1364 xpkENCO.library 1.0 1216 xpkRLEN.library 1.3 1008 xpkFAST.library 1.10 2136 xpkSASC.library 1.3 10420 xpkFEAL.library 1.03 2760 xpkSDHC.library 1.1 2120 xpkFRLE.library 1.0 1124 xpkSHID.library 1.6 3304 xpkGZIP.library 1.1 28392 xpkSHRI.library 2.2 9272 xpkHFMN.library 1.36 2056 xpkSHSC.library 1.3 10684 xpkHUFF.library 0.64 2284 xpkSMPL.library 1.0 1740 xpkIDEA.library 1.99 3940 xpkSQSH.library 1.10 2232 Будьте внимательны: xpkDMCB.library работает только при наличии FPU! Убедительная просьба проверить свои библиотеки, т. к. при наличии "левых" библиотек автор не гарантирует нормальную работоспособность eNote. Возможно у вас имеются библиотеки отсутствующие в этом списке или имеющие другую версию. Проверяйте их работоспособность командой xQuery NAME. · Планы на будущее. Если позволит время, в новых версиях eNote планируется ввести следующие возможности: - GUI Setup - Впрочем, это самая большая часть работы, которую предстоит совершить. - Будет добавлена поддержка нескольких цветов а не только одного как сейчас. - Возможно будет интеграция с Charon. - Вероятно появятся контекстные меню. Ну например на URL'ях. - Планируется сделать конфигурабельным toolbar. - Также есть желание сделать встроенную систему переключения между различными документами. Например сейчас у Автора этим занимается DOpus-Buttons. - Конечно будут рассмотрены пожелания пользователей! Пишите. · Благодарности. Выражаю благодарность людям, чьи програмные продукты применяются в eNote. Без этих людей eNote возможно и вышел, но он точно не был бы таким гибким, в своих возможностях, и уж точно появился бы у пользователей не так скоро. В первую очередь спасибо всем тем, кто создал Амигу. Всем тем, кто поддерживает её по сей день. Огромная благодарность Stefan Stuntz (MUI), Allan Odgaard (TextEditor.mcc) и Benny Kjжr Nielsen (Toolbar.mcc 15.6). Также выражаю свою признательность Dirk Stoecker (XPK/XFD), Christian von Roques (XPK), Urban Dominik Mueller (XPK), Georg Hoermann (XFD), Linus McCabe (ImagePool.library), Troels Walsted Hansen (OpenURL). Хочу выразить огромную благодарность людям помогавшим мне в написании этой программы. Без их поддержки eNote никогда бы не появился в том виде, в котором он сейчас находится. Благодарность Денису Сотченко (RDC) за помощь при составлении документации, полезные советы, "лекции" по некоторым особенностям AmigaOS, постоянный бетатестинг, различные идеи и просто за поддержку. Огромное спасибо Ефиму Шувикову (S7reaM) за дизайн и достаточно активный бетатестинг. Твои идеи тоже были очень кстати. Благодарность Alexander Filyanov за превосходное лого. Всем бетатестерам огромное спасибо за проделанную работу. Я надеюсь, что на этом наши "пути" не разойдутся. Я считаю, что в это трудное для Amiga время, всем нам лучше держаться поближе друг к другу. И считаю, что бетатестинг это очень важное, трудное и иногда опасное дело. Страна должна знать своих героев: Alex Letaev, Alexey Yurko, Денис Сотченко, Dmitry Pavluhin, Efim Shuvikov, Igor Goldenberg, Vitaliy Chepeleff, Vlad Vinogradov, Vladimir Berezenko Также хочу поблагодараить Российское отделение ATO и лично Олега Сергеева, за организацию перевода документации и каталогов. Спасибо всем членам ATO кто учавствовал в этом процессе.